As the sciences of robotics and robotic system programming continue to advance, problems that had previously been of little consequence rise in importance. Robotic systems have generally become more commonplace and the most advanced systems are highly flexible, permitting a variety of tasks to be undertaken. However, each task undertaken by most robotic systems embodies one or more programmed motions that move a portion of the system from a first point in space to another point. In order to effectively program the robotic system, some point in space must usually be defined as an origin, with all other points within the reach envelope of the system being defined relative to that origin.
For example, an articulated member such as an anthrophromorphic robot arm employing incremental encoders for servo positioning and feedback needs some form of absolute position as an origin. Using an absolute encoder to determine the position of each joint of the robot only solves part of the problem since some form of calibration from a reference on each joint is also required. Ideally, the robotic system would provide an objective reference point so that the end user of the system could calibrate and recalibrate the robotic system to the same point as that set by the manufacturer of the robotic system.
Prior art approaches to this problem have included returning the joint encoders or detectors to an initial value or position when the robotic system is initialized. This is usually accomplished using a mechanical fixture that defines an origin and is affixed to the robotic system. However, such systems only provide a single reference point for calibration This presents a situation where the coordination of the joints while the manipulator is being moved is difficult or impossible since there is no knowledge of the absolute position of the joints prior to or after their being positioned at the origin point defined by the fixture In other words, although encoders could determine the position of a fixture relative to an initial position, the coordinates of the initial position are unknown since the manipulator has not been calibrated. Moreover, providing precisely machined fixtures is relatively expensive and somewhat cumbersome for use in the field, e.g., on a factory floor or lab bench. Finally, the inherent compliance that exists in each joint results in a different overall manipulator compliance at different positions. This fact, coupled with the varying deflections caused by differing loads, makes it unlikely that the calibration is repeatable or that it will be accurate over a range of motion. Typically, prior art systems introduce another source of potential error since they do not calibrate the origin using a maximum payload.
In certain prior art systems, the fixture described above is an integral part of the structure of the manipulator, permitting it to be calibrated with respect to itself. However, in addition to many of the disadvantages noted above, such systems suffer from the further drawback of requiring relatively high machining tolerances on the external components of the manipulator assembly. Also, as above, calibration in these systems is somewhat subjective to the user. More importantly, calibration is not directly referenced to the work area. This calibration scheme is therefore dependent upon the manipulator mounting and the work area remaining fixed and stable in a known orientation.
For example, U.S. Pat. No. 4,481,592 -- Jacobs et al. discloses a calibration system for a robotic arm that uses a fixture attached to the base of the manipulator. The end point of the fixture establishes a known position of orientation for the end effector and using this information and the fixed length between joints, an offset may be stored for future correction. A calibration fixture that is an integral part of the internal drive mechanism is disclosed in U.S. Pat. No. 4,474,047 -- Carlson.
It is possible to eliminate the calibration sequence described above and merely locate the arm in a first position, designate that position the origin and teach the robotic manipulator the required path, e.g., using a teach pendant. Although this form of calibration is possible and even somewhat practical for use in robotics research, it creates a severe disadvantage in any type of production environment. If no origin is programmed, the unique set of tolerances and assembly variances of each manipulator makes sharing the programming of positions impossible. Therefore, it is desirable to program an origin into a robotic manipulator. The programming of an origin point should be relatively simple if absolute encoders are provided at each axis of motion and calibrated for each manipulator. However, as pointed out above, such calibration is both more expensive and time consuming than calibration using fixtures which, at present, provides the only practical solution to the problem.
Other types of calibration procedures have been disclosed U.S. Pat. No. 4,841,762 -- Hunter discloses a method for calibrating a robot by selecting specific points within its envelope of motion and moving the end effector to these selected points. By moving the robotic arm using different configurations, the origin for an axis can be determined mathematically. U.S. Pat. No. 4,792,228 -- Haffner discloses a laser-based position sensing and feedback system for an X-Y-Z coordinate system robot. By using three laser beams the invention disclosed permits translational, angular and rotational deviations of the robotic system to be determined.
However, there remains a need for a procedure for establishing an origin and calibrating a manipulator that is simple and repeatable. Such a system should permit calibration to be undertaken in the same manner both during fabrication of the manipulator and in the field. Accordingly, it is an object of the present invention to provide procedures for calibrating robotic manipulators that do not rely on external fixtures or prior knowledge of the orientation of the manipulator. It is a further object of the present invention to permit a manipulator to be calibrated with respect to a working surface of any orientation. Additionally, it is an object of certain embodiments of the present invention to carry out the calibration procedure in an automated fashion.